#!/bin/bash
#
# Common setup for all servers (Control Plane and Nodes)

set -euxo pipefail

#set -e: 当任何命令的退出状态非零时，立即退出脚本。这个选项通常用于在脚本中遇到错误时终止执行，以避免错误继续执行后续命令。
#set -u: 当使用未定义的变量时，产生错误并退出脚本。这个选项可以帮助我们在使用未初始化或不存在的变量时发现错误。
#set -x: 在执行脚本时，打印出每个命令及其扩展的参数。这个选项可以用于调试脚本，以便查看每个命令的执行情况。
#set -o pipefail: 当管道中的任何一个命令失败时，整个管道的返回状态将被视为失败。默认情况下，只有最后一个命令的退出状态会影响整个管道的返回状态。使用 pipefail 可以更准确地捕获管道中任何命令的失败。

echo fix sshd
sudo sed -i 's/#PasswordAuthentication yes/PasswordAuthentication yes/' /etc/ssh/sshd_config
sudo sed -i 's/#PubkeyAuthentication yes/PubkeyAuthentication yes/' /etc/ssh/sshd_config

sudo systemctl restart sshd

sudo yum install -y yum-utils bash-completion
#sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum-config-manager --add-repo https://mirror.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo usermod -aG docker vagrant
sudo systemctl enable docker
sudo systemctl restart docker

sudo yum install unzip -y

sudo unzip /vagrant/docker-compose-linux-x86_64.zip

sudo mv /home/vagrant/docker-compose-linux-x86_64 /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

#sudo echo "PATH=$PATH:$HOME/.local/bin:$HOME/bin" >> /root/.bashrc
chown vagrant:vagrant /home/vagrant/.bashrc